1. Field of the Invention
The present invention relates generally to methods and systems for accessing information stored in a source database of a database management system (DBMS), and in particular, providing replicated data from the source database to a remote user according to a schedule implemented on the (DBMS).
2. Description of the Related Art
Databases are computerized information storage and retrieval systems. One common database is known as a relational database management system (RDBMS), which is a computer database management system that uses relational techniques for storing and retrieving data. Databases are computerized information storage and retrieval systems in which data in the form of tables (formally denominated “relations”) are typically stored for use on disk drives or similar mass data stores. A “table” includes a set of rows (formally denominated “tuples” or “records”) spanning several columns. Data in the tables is stored, retrieved and deleted using high-level query languages, such as the Structured Query Language (SQL). Reference is made to C. J. Date, An Introduction to Database Systems, 6th edition, Addison-Wesley Publishing Co. Reading, Mass. (1994) for an comprehensive general treatment of the database art.
Commonly, database management systems (DBMS) are part of a distributed system comprising a plurality of servers and clients, as in the case of the client-server model. Typically, the clients and servers communicate via a local area network (LAN) or wide area network (WAN) using well-known protocols such as Transmission Control Protocol and Internet Protocol (TCP/IP). The clients typically make requests to the servers, which manage one or more databases. Once a response for the client's request is formulated, the response is provided to the client.
One of the many capabilities offered by database management systems is a data replication function. Data replication refers to the copying of data (e.g., a database or a portion of a database) from a primary database to the user's local system. In one aspect, replication allows the user to retrieve updated data information pertinent to previous database requests as the data becomes available in the DBMS. Further, databases are often replicated to reduce contention or access to a primary database or provide stand alone work systems and spaces. Replicated databases provide work fields that allow users and clients to create or inspect data without limiting access by others to a primary database. For clients interested in only specific aspects of the primary database, replicas of particular regions or fragments can be provided to avoid absorbing excess resources. Replicated databases also provide a backup in the event of media failure.
In current systems, the data replication function is implemented as follows. The client sends a request to the DBMS via a replication server and waits for a response. The DBMS then computes all essential data (using changed data, logs, and relational joins) required to allow the client to update its resident table. This process is repeated for each table that the client subscribes to.
One problem with conventional data replication functions is that they are under the control of the end-users. Typically, end-users set up replication to databases for quicker access to information of interest without regard to overall system performance or ease of system management. The utility of the replication feature is further limited because most users are unfamiliar with and/or don't care to learn about the replication feature. As a result, typically only knowledgeable users take advantage of the replication feature. In order to achieve some level of success with replication, administrators of the source database (i.e., the database containing the data to be replicated) are left in a position of mandating that users should replicate databases.
Accordingly, there is a need for an improved system and method for data replication.